package com.xudu.tourbackend.once;

import com.cloopen.rest.sdk.BodyType;
import com.cloopen.rest.sdk.CCPRestSmsSDK;
import org.apache.commons.lang3.RandomUtils;

import java.util.HashMap;
import java.util.Set;
import java.util.UUID;

/**
 * @className: SMScode
 * @description: TODO
 * @author: xudu
 * @create: 2024-06-18
 */
public class SMScode {

    public static void main(String[] args) {
        //生产环境请求地址：app.cloopen.com
        String serverIp = "app.cloopen.com";
        //请求端口
        String serverPort = "8883";
        //主账号,登陆云通讯网站后,可在控制台首页看到开发者主账号ACCOUNT SID和主账号令牌AUTH TOKEN
        String accountSId = "2c94811c8cd4da0a01902a8a9d41443b";
        String accountToken = "35dd568d967646de82c8fb609881b5ce";
        //请使用管理控制台中已创建应用的APPID
        String appId = "2c94811c8cd4da0a01902a8a9eac4442";
        CCPRestSmsSDK sdk = new CCPRestSmsSDK();
        sdk.init(serverIp, serverPort);
        sdk.setAccount(accountSId, accountToken);
        sdk.setAppId(appId);

        sdk.setBodyType(BodyType.Type_JSON);
        String to = "18547527714";  // 仅可以测试官网中填入的测试号码
        String templateId= "1";
        // 测试开发支持的文案如下:【云通讯】您的验证码是{1}，请于{2}分钟内正确输入。其中{1}和{2}为短信模板参数。
        // 随机一个验证码验证码
        // 生成验证码
        //String code = String.valueOf((int)((Math.random() * 9 + 1) * 100000));
        int code = RandomUtils.nextInt(1000, 9999);
        String[] datas = {String.valueOf(code), "1"};
        String subAppend="1234";  //可选 扩展码，四位数字 0~9999
        String reqId= UUID.randomUUID().toString();  //可选 第三方自定义消息id，最大支持32位英文数字，同账号下同一自然天内不允许重复
        //HashMap<String, Object> result = sdk.sendTemplateSMS(to,templateId,datas);
        HashMap<String, Object> result = sdk.sendTemplateSMS(to,templateId,datas,subAppend,reqId);
        //if("000000".equals(result.get("statusCode"))){
        //    //正常返回输出data包体信息（map）
        //    HashMap<String,Object> data = (HashMap<String, Object>) result.get("data");
        //    Set<String> keySet = data.keySet();
        //    for(String key:keySet){
        //        Object object = data.get(key);
        //        System.out.println(key +" = "+object);
        //        System.out.println("手机号: " + to + ", 验证码: " + code);
        //    }
        //}else{
        //    //异常返回输出错误码和错误信息
        //    System.out.println("错误码=" + result.get("statusCode") +" 错误信息= "+result.get("statusMsg"));
        //}
        //return 0;
    }

}
